package com.ds.infra.mq.core.api;


import com.ds.infra.mq.core.api.exception.ProduceException;

/**
 * 作用：生产者接口
 *
 * @author WeiShaoying
 */
public interface Producer {

    /**
     * 发送消息
     *
     * @param topic   主题
     * @param message 消息内容
     * @throws ProduceException
     */
    void send(String topic, byte[] message) throws ProduceException;

    /**
     * 发送消息
     *
     * @param topic     主题
     * @param partition 分区
     * @param message   消息内容
     * @throws ProduceException 生产异常
     */
    void send(String topic, int partition, byte[] message) throws ProduceException;

    void close();
}
